查看原文
其他

自动驾驶车辆仿真模拟软件盘点

2018-01-16 智车科技


热文推荐无人驾驶硬件平台


机器人模拟是每个机器人工具箱中的重要工具。精心设计的模拟器可以快速测试算法,设计机器人,执行回归测试,并使用逼真的场景训练AI系统。无人驾驶汽车作为轮型机器人,它的安全性和可靠性同样需要通过海量的功能和性能测试来保证。本文概述了现在普遍被用来做自动驾驶仿真模拟/离线测试的软件。


无人驾驶汽车真实上路后所要面临的外部环境是复杂多变的。通过利用仿真模拟软件可以检查算法,也可以训练无人车面对不同场景下的感知、决策等算法。


模拟平台有很多种,如果分类的话,可以分为两种:开源和收费的。从技术上分,也主要有两种:第一种是基于合成数据对环境、感知以及车辆进行模拟,这种模拟器主要用于控制与规划算法的初步开发上;第二种是基于真实数据的回放以测试无人驾驶不同部件的功能及性能。


开源模拟平台


Gazebo


Gazebo平台可以提供在复杂的室内和室外环境中准确有效地模拟训练机器人的能力。它拥有一个强大的物理引擎,高品质的图形,方便的编程和图形界面。最重要的是,Gazebo是一个充满活力的社区免费。三维机器人模拟器Gazebo一般结合机器人操作系统ROS来测试。


优点:


1.动力学仿真

可以连接多个高性能物理引擎,包括ODE,Bullet,Simbody和DART。

 

2.先进的3D图形

Gazebo利用OGRE提供逼真的渲染环境,包括高质量的照明,阴影和纹理。

 

3.传感器和噪音

从激光测距仪,2D / 3D摄像机,Kinect风格的传感器,接触式传感器,力矩等等生成传感器数据,可选的噪音。

 

4.插件

可开发机器人,传感器和环境控制的自定义插件。插件可直接访问Gazebo的API。

 

5.机器人模型

提供了许多机器人,包括PR2,Pioneer2 DX,iRobotCreate和TurtleBot。 或者使用SDF构建你自己的。

 

6.命令行工具

广泛的命令行工具有利于模拟内省和控制。

 

7.云模拟

通过运用Gazebo的功能来整合现有的模型和传感器。

 

应用:

 

在无人驾驶车辆测试方面,github上有人用ROS动能和Gazebo 8做过一个Car Demo,车辆的油门、刹车、转向和传动都是通过一个ROS系统去控制。所有传感器数据都是通过ROS发布,并且可以用RVIZ可视化。利用Gazebo功能整合现有的模型和传感器,构建城市模型和一个高速公路交互场景,垃圾箱、交通锥和加油站等都来自Gazebo模型库。在车顶处搭载一个16线激光雷达,8个超声波传感器,4个摄像头和2个平面激光雷达。代码可以从Github 网址得到。通过Nvidia-docker并从Docker Hub中提取osrt/car_demo进行尝试。该平台基于C++开发,系统要求ROS+Ubuntu环境。


相关链接:https://github.com/osrf/car_demo



EuroTruck Simulator 2



Euro Truck Simulator 2 本身是一个卡车模拟经营类游戏,可以通过代码训练和运行自动驾驶汽车,。通过AI输出的结果实现自动转向、加速和刹车,可以用来强化学习训练车辆算法。它的缺点是只能控制上下左右四个方向键,不能设置方向盘的角度。


除了Euro Truck Simulator 2,还有The Open Racing Car Simulator游戏也可以被用来进行自动驾驶汽车的训练。


应用:gibbgub上有人做了Self-driving-truck项目,基本训练方法遵循接近原始的 Atri 论文中的强化学习标准,此外该模型还试图未来的状态和奖励。训练中还使用了一些手工创建的模型和自动生成的模型。


配置要求:

CPU: Core 2 Duo 2.2 GHz, 
内存:1 GB RAM (2 GB RAM - Vista/7) 
显卡:512 MB (GeForce 6800 or better) 
硬盘:1.2 GB HDD 
系统:Windows、Mac OS X、SteamOS + Linux

编程:基于Python。


EuroTruck 下载地址:

链接:http://pan.baidu.com/s/1qXCb6o8 密码:219x


Torcs



The Open Racing Car Simulator(TORCS)是一款开源3D赛车模拟游戏。是在Linux操作系统上广受欢迎的赛车游戏。有50种车辆和20条赛道,简单的视觉效果。用C和C++写成,释放在GPL协议下。


应用:有人用深度学习框架Keras和深度强化学习算法DDPG去训练Torcs汽车。也有人使用gym_torcs库,在python中直接调用torcs,接口类似于OpenAI的Gym。还有人做了基于DRL和TORCS的自动驾驶仿真系统,


相关链接:

https://github.com/ugo-nama-kun/gym_torcs

https://www.jianshu.com/p/a3432c0e1ef2

https://www.cnblogs.com/Qwells/p/6379077.html

http://torcs.sourceforge.net/(数据集)


TORCS下载地址和安装方法:
http://torcs.sourceforge.net/index.phpname=Sections&op=viewarticle&artid=3


Unity


自动驾驶汽车需要自动驾驶软件来驱动,而在线教育公司Udacity(优达学城)推出了面向自动驾驶开发的纳米学位,来满足目前汽车行业对自动驾驶软件工程师旺盛的需求。近日,Udacity通过开源协议授权公开了它的自动驾驶汽车模拟器,有 Unity 技术背景的任何人都可以利用此模拟器的资源,载入软件内置场景或创建自己的虚拟测试路线。



该模拟器是为优达自动驾驶,旨在教学生如何使用深度学习驾驶汽车,支持Linux、Mac、Windows环境,只需将数据库复制到本地目录,确保使用Git LFS 带动大量的纹理和模型资源。


相关链接:

https://github.com/udacity/self-driving-car-sim


Carla

 

英特尔实验室联合丰田研究院和巴塞罗那计算机视觉中心联合发布CALRA,用于城市自动驾驶系统的开发、训练和验证的开源模拟器,支持多种传感模式和环境条件的灵活配置,论文中详细评估并比较了三种自动驾驶方法的性能。


CARLA的开发包括从最基础的直到支持城市自动驾驶系统的开发、训练和验证。除了开源代码和协议,CARLA还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。


这个模拟平台能够支持传感套件和环境条件的灵活配置。我们使用CARLA来研究三种自动驾驶方法的性能:传统的模块化流水线,通过模仿学习训练得到的端到端模型,通过强化学习训练得到的端到端模型。这三种方法在难度递增的受控环境中做了评估,并用CARLA提供的指标进行性能测试,表明CARLA可以用来进行自动驾驶的研究。


模拟器和配套的资源将会发布在官方网站:

http://carla.org

论文:

CARLA:An Open Urban Driving Simulator

论文链接:

https://arxiv.org/abs/1711.03938

代码链接: 

https://github.com/carla-simulator/carla


Apollo仿真模拟


之前已经讲过关于百度Apollo平台的内容,《深度揭秘Apollo自动驾驶及跟车方案的思路设计》《Apollo 2.0发布 | 深度揭秘百度自动驾驶平台》,这里不多讲了,优点是平台开源,Apollo特点主要是真实高精地图,丰富的真实场景。后续也会有动力学模型。

收费模拟平台


Prescan


PreScan是一个基于物理的仿真平台,用于汽车行业开发基于雷达,激光/激光雷达,摄像头和GPS等传感器技术的先进驾驶辅助系统(ADAS)。 PreScan还可用于设计和评估车辆到车辆(V2V)和车辆到基础设施(V2I)的通信应用以及自动驾驶应用。PreScan可以从基于模型的控制器设计(MIL)用于软件在环(SIL)和硬件在环(HIL)系统的实时测试。

 


主要分为四个步骤,搭建场景、添加传感器、添加控制系统、运行仿真


场景搭建


专用预处理器(GUI)允许用户使用路段,基础设施组件(树木,建筑物,交通标志),演员(汽车,卡车,自行车和行人),天气条件(如雨,雪和雾)以及光源(如太阳光,大灯和路灯)。通过从OpenStreetMap,Google Earth,Google 3D Warehouse和/或GPS导航设备读取信息,可以快速表示真实道路。


模型传感器


车辆模型可以配备不同的传感器类型,包括雷达,激光,摄像头,超声波,红外线,GPS和车辆到X(V2X)通信的天线。通过简单的交换和修改传感器类型和传感器特性,便于传感器设计和基准测试。

 


添加控制系统


Matlab / Simulink接口使用户能够设计和验证数据处理,传感器融合,决策制定和控制的算法以及现有的Simulink模型(如CarSim,Dyna4或ASM的车辆动力学模型)的重复使用。

 


运行实验


3D可视化查看器允许用户分析实验的结果。它提供了多个视点,直观的导航控件以及图片和电影生成功能。此外,使用ControlDesk和LabView的界面可以用来自动运行实验批次的场景以及运行硬件在环(HIL)模拟。


相关链接:

https://tass.plm.automation.siemens.com/prescan

http://www.cheyun.com/content/16897

(基于模型的智能驾驶性能开发和测试方法)


Panosim

 

PanoSim是一款集复杂车辆动力学模型、汽车三维行驶环境模型、汽车行驶交通模型、车载环境传感模型(像机和雷达)、无线通信模型、GPS和数字地图模型、Matlab/Simulink仿真环境自动生成、图形与动画后处理工具等于一体的大型模拟仿真软件平台。它基于物理建模和精确与高效兼顾的数值仿真原则,利用先进的虚拟现实技术逼真地模拟汽车驾驶的各种环境和工况,基于几何模型与物理建模相结合的建模理念建立了高精度的像机、雷达和无线通信模型,以支持在高效、高精度的数字仿真环境下汽车动力学与性能、汽车电子控制系统、智能辅助驾驶与主动安全系统、环境传感与感知、自动驾驶等技术和产品的研发、测试和验证。


PanoSim不仅包括复杂的车辆动力学模型、底盘(制动、转向和悬架)、轮胎、驾驶员、动力总成(发动机和变速箱)等模型,还支持各种典型驱动型式和悬架形式的大、中、小型轿车的建模以及仿真分析。它提供了先进的三维数字虚拟试验场景建模与编辑功能,支持对道路及道路纹理、车道线、交通标识与设施、天气、夜景等汽车行驶环境的建模与编辑。


PanoSim仿真实验操作流程简单易懂,制作一个实验的三个步骤:


  • 创建实验:新建实验工程,选择合适的道路场景,设置环境天气和光照;

 


  • 设置实验参数:在道路上添加车辆,设置车辆横向或纵向驾驶参数,设置交通流和行人干扰,安装车载传感器(像机、雷达或V2X),配置交通元素(交通标志牌、信号灯、障碍物);


  • 分析实验结果:使用后处理工具对仿真后的数据进行报表分析,或回放仿真动。



Carsim


CarSim 是 Mechanical Simulation Corporation 推出的一款整车仿真软件,主要从整车角度进行仿真。这个软件比较“傻瓜化”,其本质上是一个模型库+参数库+求解器+后处理工具+配置界面。也就是说,这个仿真软件自身已经自带了相当数量的模型,并且这些模型都有一些“比较靠谱”的参数,用户免去了繁杂建模和调参数的过程,只要将已有模型“拼”在一起,调整参数即可进行仿真。


CarSim是专门针对车辆动力学的仿真软件,CarSim模型在计算机上运行的速度比实时快3-6倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件。CarSim软件的主要适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV。


图片:转自知乎 赵迪


因为CarSim做的全是整车仿真,为了提升仿真的速度,所以CarSim里的模型都比较简单,通常就是简单的公式或者基于特性(查表)的模型,参数也比较少,但是从整车层面来看,其精度还是可以接受的。


应用:龚建伟等人在《无人驾驶车辆模型预测控制》一书中,利用Simulink/CarSim联合仿真平台,构建了车辆模拟进行测试。


Pro-SiVIC



ESI集团传感器仿真分析解决方案Pro-SiVIC™可以帮助交通运输行业的制造商们对车载或机载的多种感知系统的运行性能进行虚拟测试,并且能够准确得再现出诸如照明条件、天气以及其他道路使用者等影响因素。


Pro-SiVIC™可以用来建立高逼真、与实际场景相当的3D场景,并实现场景中的实时交互进行仿真分析,削减物理样机的需求。Pro-SiVIC™的使用者们可以快速并且精确地对各个嵌入系统在典型及极端操作环境下的性能进行仿真分析,它可以提供基于多种技术的传感器模型,例如:摄像机、雷达、激光雷达(激光扫描仪)、超声波传感器、GPS、里程表及通信设备等。


这就使得该解决方案可以在地面交通、航空航天以及船舶等有基于感知的控制系统的各种行业得到应用。同时传感器也可以集成到仿真的3D场景中,以汽车行业为例,Pro-SiVIC™提供了多个环境目录,提供具有代表性的不同道路(城市道路、高速以及乡村公路)、交通标识及车道线标记。



应用:在2017年CES上,ESI集团与汽车供应商DURA联合展示了通过ESI集团Pro-SiVIC解决方案对汽车系统进行创新型的虚拟测试。两公司合作构建了逼真的3D仿真环境,再现了拉斯维加斯的部分城市街景,包括实际道路布局、路标和行人等,对驾驶辅助系统和自动驾驶系统进行虚拟测试。


结论:除了上述这么软件外,还有很多采集真实场景,基于真实交通场景多传感数据来做离线测试。从训练到测试,虚拟环境正在让自动驾驶变得越来越完善。在训练过程中,它能够帮我们节省时间,提高效率,并且帮我们规避在真实世界中进行测试时的风险。


推荐阅读

▎本文为智车科技根据网络资料整理,如需转载请注明来源。

请猛戳右边二维码





公众号ID

IV-Technology

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存